package testes;

import logica.locacao.Extrato;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestaExtrato {
	private Extrato extrato1;
	
	@Before public void setUp() throws Exception {
		extrato1 = new Extrato();
	}
	
	@Test public void testaGetsESets() {
	
		try{
			extrato1.setCodigoDoCliente(null);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Codigo do cliente invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setCodigoDoCliente("");
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Codigo do cliente invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setCodigoDoRegistroDeLocacao(-15);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Codigo do registro de locacao invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setCodigoDoRegistroDeLocacao(0);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Codigo do registro de locacao invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setCodigosDosVeiculos(null);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Codigos dos veiculos invalidos!", e.getMessage());
		}
		
		try{
			extrato1.setDataDeLocacao(null);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Data de locacao invalida!>", e.getMessage());
		}
		
		try{
			extrato1.setDataDeDevolucao(null);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Data de devolucao invalida!>", e.getMessage());
		}
		
		try{
			extrato1.setFormaDePagamento(null);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Forma de pagamento invalida!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoDaDiaria(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco da diaria invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoDaDiaria(0);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco da diaria invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setQtdeDiariasASeremPagas(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Quantidade de diarias a serem pagas invalida!>", e.getMessage());
		}
		
				
		try{
			extrato1.setQuilometragem(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Quilometragem invalida!>", e.getMessage());
		}
		
		try{
			extrato1.setQuilometragem(0);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Quilometragem invalida!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoPorQuilometro(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco por quilometro invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoPorQuilometro(0);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco por quilometro invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoPorQuilometro(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco por quilometro invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoPorQuilometro(0);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco por quilometro invalido!>", e.getMessage());
		}
		
		try{
			extrato1.setPrecoDoSeguro(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco do seguro invalido!>", e.getMessage());
		}
		
				
		try{
			extrato1.setPrecoTotal(-10);
			Assert.fail("Nao deveria ter entrado aqui.");
		}
		catch (Exception e){
			Assert.assertEquals("Mensagem de erro errada!", "\n \t <Preco total da locacao invalido!>", e.getMessage());
		}
		
		
	}

}
